OT: tabulka do wordu

Otázka od: Bohac Frantisek

28. 11. 2003 14:28

Dobry den,

potrebuji vlozit nejak jednoduse tabulku do wordu a napadlo me vlozit ji
pres schranku jako HTML.

Nevite prosim, jak vlozim text do schranky, aby se tagy nechovaly jako text,
ale jako HTML?

A nebo - jde to nejak jinak (a jednoduse)?

Dekuji moc za jakoukoliv radu a preji vsem hezky vikend  

Frantisek





----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: Jan Fiala

28. 11. 2003 14:36

28.11.2003 Bohac Frantisek:
> Dobry den,

> potrebuji vlozit nejak jednoduse tabulku do wordu a napadlo me vlozit ji
> pres schranku jako HTML.
> Nevite prosim, jak vlozim text do schranky, aby se tagy nechovaly jako text,
> ale jako HTML?
> A nebo - jde to nejak jinak (a jednoduse)?
> Dekuji moc za jakoukoliv radu a preji vsem hezky vikend  

V podstate jde o to, zaregistrovat format schranky
RegisterClipboardFormat('HTML Format');
a doplnit pred HTML kod hlavicku, ktera je popsana v MSDN.

--
Jan Fiala
mailto:jan.fiala@wo.cz






----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: Bohac Frantisek

1. 12. 2003 11:53


Preji hezky den,

----- Original Message -----
From: "Jan Fiala" <jan.fiala@wo.cz>


> V podstate jde o to, zaregistrovat format schranky
> RegisterClipboardFormat('HTML Format');
> a doplnit pred HTML kod hlavicku, ktera je popsana v MSDN.

dekuji za informaci  

zkousel jsem pouzit tuhle fci:
--------------------------------------------------------
//The second parameter is optional and is put into the clipboard as CF_HTML.
//Function can be used standalone or in conjunction with the VCL clipboard
so long as
//you use the USEVCLCLIPBOARD conditional define (and clipboard.open,
clipboard.close).
//Code from http://www.lorriman.com
procedure copyTextToClipBoard(const str: string; const htmlStr: string =
'');
var
   gMem: HGLOBAL;
   lp: pchar;
   strings: array[0..1] of string;
   formats: array[0..1] of UINT;
   i: integer;
begin
   gMem := 0;
  {$IFNDEF USEVCLCLIPBOARD}
   win32check(openclipboard(0));
   {$ENDIF}
   try
   //most descriptive first as per api docs
      strings[0] := format('<!--StartFragment-->%s<!--EndFragment-->',
[htmlStr]);
      strings[1] := str;
      formats[0] := RegisterClipboardFormat('HTML Format');
      formats[1] := CF_TEXT;
      {$IFNDEF USEVCLCLIPBOARD}
      win32check(emptyclipboard);
      {$ENDIF}
      for i := 0 to high(strings) do begin
         if strings[i] = '' then continue;
         //an extra "1" for the null terminator
         gMem := globalalloc(GMEM_DDESHARE + GMEM_MOVEABLE,
length(strings[i])+1);
         win32check(gmem <> 0);
         lp := globallock(gMem);
         win32check(lp <> nil);
         copymemory(lp, pchar(strings[i]), length(strings[i])+1);
         globalunlock(gMem);
         win32check(gmem <> 0);
         setClipboarddata(formats[i], gMEm);
         win32check(gmem <> 0);
         gmem := 0;
      end;
   finally
      {$IFNDEF USEVCLCLIPBOARD}
      win32check(closeclipboard);
      {$ENDIF}
   end;
end;

--------------------------------------------------------
volam ji takto:

copyTextToClipBoard('<table><tr><td>aa</td><td>ab</td></tr><tr><td>bb</td><t
d>bc</td></tr></table>','');

ale do Wordu se mi vlozi pouze text
'<table><tr><td>aa</td><td>ab</td></tr><tr><td>bb</td><td>bc</td></tr></tabl
e>'
a ne HTML - kde delam chybu? Je chyba v tom, ze nedefinuji: neco z
nasledujiciho?
    Version:
    StartHTML:
    EndHTML:
    StartFragment:
    EndFragment:
    StartSelection:
    EndSelection:

F.


Odpovedá: Jan Fiala

3. 12. 2003 7:44

1.12.2003 Bohac Frantisek:

> Preji hezky den,

> ----- Original Message -----
> From: "Jan Fiala" <jan.fiala@wo.cz>


>> V podstate jde o to, zaregistrovat format schranky
>> RegisterClipboardFormat('HTML Format');
>> a doplnit pred HTML kod hlavicku, ktera je popsana v MSDN.

> dekuji za informaci  

> zkousel jsem pouzit tuhle fci:
>Je chyba v tom, ze nedefinuji: neco z
> nasledujiciho?
> Version:
> StartHTML:
> EndHTML:
> StartFragment:
> EndFragment:
> StartSelection:
> EndSelection:

Ty informace jsou potrebne. Zkus si vlozit do schranky neco treba z IE
a nacist si obsah ve formatu HTML. Pak uvidis, co tam patri.


--
Jan Fiala
mailto:jan.fiala@wo.cz






----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)